1500 |
How can I add a Zero-Lenght bar
with AxG2antt1 do begin BeginUpdate(); MarkSearchColumn := False; with Columns do begin Add('Tasks'); (Add('Start') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(1); (Add('End') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(2); (Add('Duration') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(258); end; with Chart do begin FirstVisibleDate := '9/20/2010'; LevelCount := 2; PaneWidth[False] := 256; AllowLinkBars := False; end; with Items do begin AllowCellValueToItemBar := True; h1 := AddItem('M1'); AddBar(h1,'Milestone','9/29/2010','9/29/2010',Nil,Nil); ItemBar[h1,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount] := TObject(True); end; EndUpdate(); end |
1499 |
Can I use bars like Milestone (Zero-Length bar) in SchedulePDM
// BarResizing event - Occurs when a bar is moving or resizing. procedure TWinForm1.AxG2antt1_BarResizing(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_BarResizingEvent); begin with AxG2antt1 do begin OutputDebugString( Items.SchedulePDM(e.item,TObject(e.key)) ); end end; with AxG2antt1 do begin BeginUpdate(); MarkSearchColumn := False; with Columns do begin Add('Tasks'); (Add('Start') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(1); (Add('End') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(543); (Add('Duration') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(258); end; with ConditionalFormats.Add('%3',Nil) do begin Bold := True; ApplyTo := EXG2ANTTLib.FormatApplyToEnum.exFormatToItems; end; with ConditionalFormats.Add('%3 = 0',Nil) do begin ForeColor := $c4c4c4; ApplyTo := EXG2ANTTLib.FormatApplyToEnum($3); end; with Chart do begin FirstVisibleDate := '9/20/2010'; LevelCount := 2; PaneWidth[False] := 256; Bars.Add('Task:Split').Shortcut := 'Task'; end; with Items do begin AllowCellValueToItemBar := True; h1 := AddItem('M1'); AddBar(h1,'Milestone','9/27/2010','9/27/2010',Nil,Nil); ItemBar[h1,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount] := TObject(True); h2 := AddItem('T1'); AddBar(h2,'Task','9/27/2010','9/27/2010',Nil,Nil); ItemBar[h2,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarEndInclusive] := '9/27/2010'; ItemBar[h2,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount] := TObject(True); AddLink('L1',h1,'',h2,''); h3 := AddItem('T2'); AddBar(h3,'Task','9/27/2010','9/27/2010',Nil,Nil); ItemBar[h3,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarEndInclusive] := '9/27/2010'; ItemBar[h3,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount] := TObject(True); AddLink('L2',h1,'',h3,''); Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkPDMWorkingDelay] := TObject(5); h4 := AddItem('M3'); AddBar(h4,'Milestone','9/27/2010','9/27/2010',Nil,Nil); ItemBar[h4,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount] := TObject(False); AddLink('L3',h1,'',h4,''); Link['L3',EXG2ANTTLib.LinkPropertyEnum.exLinkPDMWorkingDelay] := TObject(5); SchedulePDM(0,''); end; EndUpdate(); end |
1498 |
How can I prevent vertical scrolling when user clicks the overview part of the control
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TWinForm1.AxG2antt1_AddItem(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_AddItemEvent); begin with AxG2antt1 do begin with Items do begin AddBar(e.item,'Task',CellValue[TObject(e.item),TObject(2)],CellValue[TObject(e.item),TObject(4)],Nil,Nil); end; end end; with AxG2antt1 do begin BeginUpdate(); with Chart do begin FirstVisibleDate := '8/3/1994'; PaneWidth[False] := 256; LevelCount := 2; UnitScale := EXG2ANTTLib.UnitEnum.exDay; FirstWeekDay := EXG2ANTTLib.WeekDayEnum.exMonday; OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible; end; ColumnAutoResize := False; ContinueColumnScroll := False; rs := (ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset')) as ADODB.Recordset); with rs do begin Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb',3,3,Nil); end; DataSource := (rs as ADODB.Recordset); Items.AllowCellValueToItemBar := True; Columns.Item[TObject(2)].Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(1); Columns.Item[TObject(4)].Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(2); EndUpdate(); end |
1497 |
I need to specify the start and end dates of the bar to be the same, but no bars are shown. (recommended for bars with exBarKeepWorkingCount ) What I can do
with AxG2antt1 do begin BeginUpdate(); MarkSearchColumn := False; with Columns do begin Add('Tasks'); (Add('Start') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(1); (Add('End') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(543); end; with Chart do begin FirstVisibleDate := '9/20/2006'; LevelCount := 2; PaneWidth[False] := 256; ShowEmptyBars := 0; end; with Items do begin AllowCellValueToItemBar := True; h := AddItem('Task 1'); AddBar(h,'Task','9/21/2006','9/21/2006',Nil,Nil); ItemBar[h,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarEndInclusive] := ItemBar[h,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarStart]; ItemBar[h,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount] := TObject(True); h := AddItem('Task 2'); AddBar(h,'Task','9/21/2006','9/21/2006',Nil,Nil); ItemBar[h,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarEndInclusive] := '9/25/2006'; ItemBar[h,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount] := TObject(True); end; EndUpdate(); end |
1496 |
How can I display the end date to be the last visible date of task, instead the next day
// BarResize event - Occurs when a bar is moved or resized. procedure TWinForm1.AxG2antt1_BarResize(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_BarResizeEvent); begin with AxG2antt1 do begin Items.SchedulePDM(e.item,TObject(e.key)); end end; // BarResizing event - Occurs when a bar is moving or resizing. procedure TWinForm1.AxG2antt1_BarResizing(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_BarResizingEvent); begin with AxG2antt1 do begin Items.SchedulePDM(e.item,TObject(e.key)); end end; with AxG2antt1 do begin BeginUpdate(); MarkSearchColumn := False; HeaderHeight := 36; with Columns do begin Add('Tasks'); (Add('Start') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(1); with (Add('End') as EXG2ANTTLib.Column) do begin HTMLCaption := '<b>End</b><br>Inclusive'; Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(543); Editor.EditType := EXG2ANTTLib.EditTypeEnum.DateType; end; (Add('End') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(2); end; with ConditionalFormats.Add(1,Nil) do begin Bold := True; ApplyTo := EXG2ANTTLib.FormatApplyToEnum($2); end; with Chart do begin FirstVisibleDate := '9/20/2006'; LevelCount := 2; PaneWidth[False] := 256; Bars.Add('Task:Split').Shortcut := 'Task'; end; with Items do begin AllowCellValueToItemBar := True; h1 := AddItem('Task 1'); AddBar(h1,'Task','9/21/2006','9/23/2006',Nil,Nil); h2 := AddItem('Task 2'); AddBar(h2,'Task','9/21/2006','9/26/2006',Nil,Nil); AddLink('link',h1,'',h2,''); ItemBar[0,'<*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount] := TObject(True); SchedulePDM(0,''); end; EndUpdate(); end |
1495 |
How do I hide the selection
with AxG2antt1 do begin BeginUpdate(); MarkSearchColumn := False; SelForeColor := ForeColor; SelBackColor := BackColor; ShowFocusRect := False; with Columns do begin with (Add('Format') as EXG2ANTTLib.Column) do begin FormatColumn := 'type(value) in (0,1) ? ''null'' : ( dbl(value)<0 ? ''<fgcolor=FF0000>''+ (value format ''2|.|3|,|1'' ) : (dbl(value)>0 ? ''<fgcolor=000' + '0FF>+''+(value format ''2|.|3|,'' ): ''0.00'') )'; Def[EXG2ANTTLib.DefColumnEnum.exCellValueFormat] := TObject(1); end; end; with Items do begin AddItem(TObject(10)); AddItem(TObject(-8)); end; EndUpdate(); end |
1494 |
How do I access the cells, or how do I get the values in the columns
with AxG2antt1 do begin with Columns do begin Add('C1'); Add('C2'); Add('C3'); end; with Items do begin h := AddItem('Item 1'); CellValue[TObject(h),TObject(1)] := 'SubItem 1.1'; CellValue[TObject(h),TObject(2)] := 'SubItem 1.2'; OutputDebugString( CellValue[TObject(h),TObject(1)] ); end; end |
1493 |
Is there any function I can use to indicate the Now() when using the ComputedFields, CondtionalFormats, ...
with AxG2antt1 do begin (Columns.Add('Now') as EXG2ANTTLib.Column).ComputedField := 'date(``)'; Items.AddItem(''); end |
1492 |
How can I get the start and end points of the bar once the BarResize event occurs
// BarResize event - Occurs when a bar is moved or resized. procedure TWinForm1.AxG2antt1_BarResize(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_BarResizeEvent); begin with AxG2antt1 do begin OutputDebugString( 'Start: ' ); OutputDebugString( Items.ItemBar[e.item,TObject(e.key),EXG2ANTTLib.ItemBarPropertyEnum.exBarStart] ); OutputDebugString( 'End: ' ); OutputDebugString( Items.ItemBar[e.item,TObject(e.key),EXG2ANTTLib.ItemBarPropertyEnum.exBarEnd] ); end end; with AxG2antt1 do begin BeginUpdate(); with Chart do begin FirstVisibleDate := '12/31/2009'; LevelCount := 2; PaneWidth[False] := 96; var_Bar := Bars.Item['Task']; end; Columns.Add('Types'); with Items do begin AddBar(AddItem('Task 1'),'Task','1/4/2010','1/9/2010','',Nil); AddBar(AddItem('Task 2'),'Task','1/4/2010','1/9/2010','',Nil); end; EndUpdate(); end |
1491 |
My chart displays hours, the question would be if possible to let user resizes the bars up to 1/2 hour, or a half an hour
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 22; Columns.Add('Task'); with Chart do begin AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarAuto; LevelCount := 2; UnitScale := EXG2ANTTLib.UnitEnum.exHour; ResizeUnitScale := EXG2ANTTLib.UnitEnum.exMinute; ResizeUnitCount := 30; PaneWidth[False] := 48; FirstVisibleDate := '1/1/2001'; DrawGridLines := EXG2ANTTLib.GridLinesEnum.exAllLines; Level[1].DrawGridLines := True; end; with Items do begin AddItem('Task'); AddItem('Task'); AddItem('Task'); AddItem('Task'); AddItem('Task'); end; EndUpdate(); end |
1490 |
How can I show the dates in the title
|
1489 |
If I vertically scroll the control the image flows fluently. But when I scroll on the horizontal chart's scrollbar the images only shows after I release the click button. Can I make it scroll fluently like the vertical scrollbar
with AxG2antt1 do begin Chart.PaneWidth[False] := 0; Chart.ToolTip := ''; end |
1488 |
How can I programmatically add a bar during the CreateBar event
// CreateBar event - Fired when the user creates a new bar. procedure TWinForm1.AxG2antt1_CreateBar(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_CreateBarEvent); begin with AxG2antt1 do begin with Items do begin k := ItemBar[e.item,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarsCount]; AddBar(e.item,'Order',TObject(e.dateStart),TObject(e.dateEnd),TObject(k),'your text'); end; OutputDebugString( Items.ItemBar[e.item,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarsCount] ); end end; with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with Chart do begin AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarManual; PaneWidth[False] := 48; FirstVisibleDate := '12/28/2000'; LevelCount := 2; Bars.Copy('Task','Order'); end; with Items do begin AddItem(TObject(1)); AddItem(TObject(2)); AddItem(TObject(3)); end; EndUpdate(); end |
1487 |
How can I move more bars by code
with AxG2antt1 do begin Columns.Add('Tasks'); with Chart do begin FirstVisibleDate := '1/1/2001'; LevelCount := 2; PaneWidth[False] := 48; end; with Items do begin AddBar(AddItem('Task 1'),'Task','1/1/2001','1/6/2001','A',Nil); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/7/2001','B',Nil); ItemBar[0,'<*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarMove] := TObject(1); ItemBar[0,'<A*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarMove] := TObject(1); ItemBar[0,'<B*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarMove] := TObject(1); end; end |
1486 |
How can I move a bar by code
with AxG2antt1 do begin Columns.Add('Tasks'); with Chart do begin FirstVisibleDate := '1/1/2001'; LevelCount := 2; PaneWidth[False] := 48; end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/1/2001','1/6/2001','A',Nil); ItemBar[h,'A',EXG2ANTTLib.ItemBarPropertyEnum.exBarMove] := TObject(1); end; end |
1485 |
How can I clip the notes to the items zone only
with AxG2antt1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); AntiAliasing := True; Columns.Add('Task'); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 96; LevelCount := 2; end; with Items do begin AddItem(Nil); h := AddItem('Task 1'); AddBar(h,'Task','1/5/2001','1/8/2001','1',Nil); end; with Chart.Notes do begin with Add('1',TObject(AxG2antt1.Items.ItemByIndex[1]),'1','<img>2</img>') do begin PartShadow[EXG2ANTTLib.NotePartEnum.exNoteEnd] := False; PartBorderSize[EXG2ANTTLib.NotePartEnum.exNoteEnd] := 0; ClearPartBackColor(EXG2ANTTLib.NotePartEnum.exNoteEnd); PartCanMove[EXG2ANTTLib.NotePartEnum.exNoteEnd] := True; RelativePosition := TObject(0.5); PartVOffset[EXG2ANTTLib.NotePartEnum.exNoteEnd] := -36; end; ClipTo := EXG2ANTTLib.NotesClipToEnum.exNotesClipToItems; end; EndUpdate(); end |
1484 |
How can I put two bars of various types, in the event of conflict do not coincide
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 22; Columns.Add('Task'); ScrollBySingleLine := True; BackColorAlternate := Color.FromArgb(240,240,240); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '12/28/2000'; LevelCount := 2; with Bars.Item['Task'] do begin OverlaidType := Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange) Or Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack); OverlaidGroup := 'NewTask'; end; with Bars.Copy('Task','NewTask') do begin OverlaidType := Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange) Or Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack); OverlaidGroup := 'Task'; Color := $ff; end; end; with Items do begin h1 := AddItem('Default'); h := AddItem('Overlaid'); AddBar(h,'Task','1/2/2001','1/4/2001','A1','A1'); AddBar(h,'NewTask','1/3/2001','1/5/2001','A2','A2'); AddBar(h,'NewTask','1/4/2001','1/7/2001','A3','A3'); AddBar(h,'Task','1/4/2001','1/7/2001','A4','A4'); h1 := AddItem('Default'); end; EndUpdate(); end |
1483 |
How can I run trigger an event which, after clicking on the item/bar gives the key/name or item id
// MouseDown event - Occurs when the user presses a mouse button. procedure TWinForm1.AxG2antt1_MouseDownEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseDownEvent); begin with AxG2antt1 do begin item := get_ItemFromPoint(-1,-1,column,hit); key := Chart.BarFromPoint[-1,-1]; OutputDebugString( 'Item:' ); OutputDebugString( item ); OutputDebugString( 'Key:' ); OutputDebugString( key ); OutputDebugString( 'CellValue(i,0):' ); OutputDebugString( Items.CellValue[TObject(item),TObject(0)] ); Items.ItemBar[item,TObject(key),EXG2ANTTLib.ItemBarPropertyEnum.exBarColor] := TObject(255); end end; with AxG2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '12/29/2000'; PaneWidth[False] := 64; LevelCount := 2; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/4/2001','1/6/2001','K2',Nil); AddLink('L1',h1,'K1',h2,'K2'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','K3',Nil); AddLink('L2',h2,'K2',h3,'K3'); end; EndUpdate(); end |
1482 |
How can I change the check-boxes appearance
with AxG2antt1 do begin LinesAtRoot := EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot; with (Columns.Add('Default') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellHasCheckBox] := TObject(True); PartialCheck := True; end; with Items do begin h := AddItem('Root'); InsertItem(h,Nil,'Child 1'); InsertItem(h,Nil,'Child 2'); ExpandItem[h] := True; end; with VisualAppearance do begin Add(1,'XP:Button 3 12'); Add(2,'XP:Button 3 11'); Add(3,'XP:Button 3 10'); end; set_CheckImage(EXG2ANTTLib.CheckStateEnum.Unchecked,16777216); set_CheckImage(EXG2ANTTLib.CheckStateEnum.Checked,33554432); set_CheckImage(EXG2ANTTLib.CheckStateEnum.PartialChecked,50331648); end |
1481 |
How can I change the color for the control's split bar (sample 1)
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Default'); set_Background(EXG2ANTTLib.BackgroundPartEnum.exSplitBar,$10000); BackColorLevelHeader := BackColor; with Chart do begin LevelCount := 2; PaneWidth[False] := 64; HistogramVisible := True; HistogramHeight := 64; OverviewHeight := 48; OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAll; end; EndUpdate(); end |
1480 |
Is it possible to display ONLY the working hours
with AxG2antt1 do begin with Chart do begin FirstVisibleDate := '1/1/2001'; LevelCount := 2; with Level[0] do begin Label := TObject(4096); Alignment := Integer(EXG2ANTTLib.AlignmentEnum.exHOutside) Or Integer(EXG2ANTTLib.AlignmentEnum.CenterAlignment); end; with Level[1] do begin Label := '<%hh%>'; Count := 6; end; UnitWidth := 26; PaneWidth[False] := 0; NonworkingHours := 15728895; ShowNonworkingUnits := False; ShowNonworkingHours := False; end; end |
1479 |
How can I display the end of the day in the chart's header
with AxG2antt1 do begin with Chart do begin FirstVisibleDate := '1/1/2001'; LevelCount := 2; with Level[0] do begin Label := TObject(4096); Alignment := Integer(EXG2ANTTLib.AlignmentEnum.exHOutside) Or Integer(EXG2ANTTLib.AlignmentEnum.CenterAlignment); end; with Level[1] do begin Label := '<%hh%>'; Count := 6; ReplaceLabel['08'] := '<b>8</b> <font ;6>am'; ReplaceLabel['14'] := '<b>8</b> <font ;6>pm'; end; UnitWidth := 26; PaneWidth[False] := 0; NonworkingHours := 15728895; ShowNonworkingUnits := False; ShowNonworkingHours := False; end; end |
1478 |
How can I display the +/- expanding buttons in the chart section
with AxG2antt1 do begin BeginUpdate(); LinesAtRoot := EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot; Indent := 13; HasButtons := EXG2ANTTLib.ExpandButtonEnum.exWPlus; with Chart do begin FirstVisibleDate := '12/25/2010'; LevelCount := 2; PaneWidth[False] := 0; ColumnsFormatLevel := '0'; SelBackColor := AxG2antt1.SelBackColor; SelForeColor := AxG2antt1.SelForeColor; end; with (Columns.Add('P1') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellHasCheckBox] := TObject(True); PartialCheck := True; end; with Items do begin h := AddItem('Root'); AddBar(InsertItem(h,Nil,'Child 1'),'Task','1/2/2011','1/5/2011',Nil,Nil); AddBar(InsertItem(h,Nil,'Child 2'),'Task','1/4/2011','1/7/2011',Nil,Nil); AddBar(InsertItem(h,Nil,'Child 3'),'Task','1/7/2011','1/8/2011',Nil,Nil); ExpandItem[h] := True; end; EndUpdate(); end |
1477 |
Is it possible to display the columns in the chart aligned to the right
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 24; Columns.Add('Tasks'); with (Columns.Add('Key') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(0); Visible := False; Alignment := EXG2ANTTLib.AlignmentEnum.RightAlignment; end; with Chart do begin FirstVisibleDate := '12/30/2000'; LevelCount := 2; PaneWidth[False] := 0; ColumnsFormatLevel := '|,1:52'; end; with Items do begin AllowCellValueToItemBar := True; AddBar(AddItem('Task 1'),'Task','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 2'),'Split','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 3'),'Progress','1/3/2001','1/7/2001',Nil,Nil); end; EndUpdate(); end |
1476 |
How can I display a border in the chart
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 24; Columns.Add('Tasks'); with (Columns.Add('Key') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(0); Visible := False; Alignment := EXG2ANTTLib.AlignmentEnum.CenterAlignment; Def[EXG2ANTTLib.DefColumnEnum.exCellForeColor] := TObject(255); end; with Chart do begin FirstVisibleDate := '12/30/2000'; LevelCount := 2; PaneWidth[False] := 0; ColumnsFormatLevel := '1:52,\"\"[bg=255]:2'; end; with Items do begin AllowCellValueToItemBar := True; AddBar(AddItem('Task 1'),'Task','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 2'),'Split','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 3'),'Progress','1/3/2001','1/7/2001',Nil,Nil); end; EndUpdate(); end |
1475 |
How can I change the font to display the columns in the chart (Method 2)
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 24; Columns.Add('Tasks'); with (Columns.Add('Key') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(0); Visible := False; end; with ConditionalFormats.Add(1,Nil) do begin Bold := True; ApplyTo := EXG2ANTTLib.FormatApplyToEnum($1); end; with Chart do begin FirstVisibleDate := '12/30/2000'; LevelCount := 2; PaneWidth[False] := 48; ColumnsFormatLevel := '1'; end; with Items do begin AllowCellValueToItemBar := True; AddBar(AddItem('Task 1'),'Task','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 2'),'Split','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 3'),'Progress','1/3/2001','1/7/2001',Nil,Nil); end; EndUpdate(); end |
1474 |
How can I change the font to display the columns in the chart (Method 1)
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 24; Columns.Add('Tasks'); with (Columns.Add('Key') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(0); Visible := False; end; with Chart do begin FirstVisibleDate := '12/30/2000'; LevelCount := 2; PaneWidth[False] := 48; ColumnsFormatLevel := '1'; ColumnsFont := (AxG2antt1.Font as stdole.StdFont); with ColumnsFont do begin Size := 12; Name := 'Tahoma'; end; end; with Items do begin AllowCellValueToItemBar := True; AddBar(AddItem('Task 1'),'Task','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 2'),'Split','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 3'),'Progress','1/3/2001','1/7/2001',Nil,Nil); end; EndUpdate(); end |
1473 |
How can I change the column's background color when it is displayed on the chart (Method 2)
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with (Columns.Add('Key') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(0); Visible := False; end; with Chart do begin FirstVisibleDate := '12/30/2000'; LevelCount := 2; PaneWidth[False] := 48; ColumnsFormatLevel := '1[bg=255]:52'; end; with Items do begin AllowCellValueToItemBar := True; AddBar(AddItem('Task 1'),'Task','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 2'),'Split','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 3'),'Progress','1/3/2001','1/7/2001',Nil,Nil); end; EndUpdate(); end |
1472 |
How can I change the column's background color when it is displayed on the chart (Method 1)
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with (Columns.Add('Key') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(0); Visible := False; Def[EXG2ANTTLib.DefColumnEnum.exCellBackColor] := TObject(15790320); end; with Chart do begin FirstVisibleDate := '12/30/2000'; LevelCount := 2; PaneWidth[False] := 48; ColumnsFormatLevel := '1:52'; end; with Items do begin AllowCellValueToItemBar := True; AddBar(AddItem('Task 1'),'Task','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 2'),'Split','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 3'),'Progress','1/3/2001','1/7/2001',Nil,Nil); end; EndUpdate(); end |
1471 |
Can the chart display any column
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with (Columns.Add('Start') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(1); Visible := False; Alignment := EXG2ANTTLib.AlignmentEnum.LeftAlignment; end; with (Columns.Add('End') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(2); Visible := False; Alignment := EXG2ANTTLib.AlignmentEnum.RightAlignment; end; with Chart do begin FirstVisibleDate := '1/1/2001'; LevelCount := 2; PaneWidth[False] := 48; ColumnsFormatLevel := '1:52,|,2:52'; end; with Items do begin AllowCellValueToItemBar := True; AddBar(AddItem('Task 1'),'Task','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 2'),'Task','1/4/2001','1/8/2001',Nil,Nil); end; EndUpdate(); end |
1470 |
Is it possible to display a check-box column on the chart
with AxG2antt1 do begin Columns.Add('Tasks'); with (Columns.Add('Check') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellHasCheckBox] := TObject(True); Visible := False; end; with Chart do begin FirstVisibleDate := '1/1/2001'; LevelCount := 2; PaneWidth[False] := 48; ColumnsFormatLevel := '1'; end; with Items do begin AddBar(AddItem('Task 1'),'Task','1/3/2001','1/7/2001',Nil,Nil); AddBar(AddItem('Task 2'),'Task','1/4/2001','1/8/2001',Nil,Nil); end; end |
1469 |
Is it possible to disable the cell's editor context menu
with AxG2antt1 do begin with (Columns.Add('Edit') as EXG2ANTTLib.Column).Editor do begin EditType := EXG2ANTTLib.EditTypeEnum.EditType; Option[EXG2ANTTLib.EditorOptionEnum.exEditAllowContextMenu] := TObject(False); end; with Items do begin AddItem(TObject(10)); AddItem(TObject(20)); end; end |
1468 |
How can I find a value in a drop down editor
with AxG2antt1 do begin with (Columns.Add('DropDownList') as EXG2ANTTLib.Column).Editor do begin EditType := EXG2ANTTLib.EditTypeEnum.DropDownListType; AddItem(1,'DDList 1',Nil); AddItem(2,'DDList 2',Nil); AddItem(3,'DDList 3',Nil); end; with (Columns.Add('DropDown') as EXG2ANTTLib.Column).Editor do begin EditType := EXG2ANTTLib.EditTypeEnum.DropDownType; AddItem(1,'DDType 1',Nil); AddItem(2,'DDType 2',Nil); AddItem(3,'DDType 3',Nil); end; with Items do begin CellValue[TObject(.AddItem(TObject(1))),TObject(1)] := AxG2antt1.Columns.Item[TObject(1)].Editor.FindItem[TObject(1)]; CellValue[TObject(.AddItem(TObject(2))),TObject(1)] := AxG2antt1.Columns.Item[TObject(1)].Editor.FindItem[TObject(2)]; end; end |
1467 |
What is the difference between DropDownType and DropDownListType
with AxG2antt1 do begin with (Columns.Add('DropDownList') as EXG2ANTTLib.Column).Editor do begin EditType := EXG2ANTTLib.EditTypeEnum.DropDownListType; AddItem(1,'First item',Nil); AddItem(2,'Second item',Nil); AddItem(3,'Third item',Nil); end; with (Columns.Add('DropDown') as EXG2ANTTLib.Column).Editor do begin EditType := EXG2ANTTLib.EditTypeEnum.DropDownType; AddItem(1,'First item',Nil); AddItem(2,'Second item',Nil); AddItem(3,'Third item',Nil); end; with Items do begin CellValue[TObject(AddItem(TObject(1))),TObject(1)] := 'Any'; CellValue[TObject(AddItem(TObject(2))),TObject(1)] := 'Any'; end; end |
1466 |
How can I mark or enlarge the selected bars, so I have a clear frame around (Method 3)
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 32; with VisualAppearance do begin Add(1,'c:\exontrol\images\normal.ebn'); Add(2,'CP:1 -2 -2 2 2'); end; with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/1/2002'; SelBarColor := $2ff0000; Bars.Item['Task'].Color := $1000000; end; Columns.Add('Task'); with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/2/2002','1/4/2002','A',Nil); AddBar(h,'Task','1/6/2002','1/10/2002','B',Nil); AddBar(h,'Task','1/11/2002','1/14/2002','C',Nil); ItemBar[h,'A',EXG2ANTTLib.ItemBarPropertyEnum.exBarSelected] := TObject(True); ItemBar[h,'B',EXG2ANTTLib.ItemBarPropertyEnum.exBarSelected] := TObject(True); end; EndUpdate(); end |
1465 |
How can I mark or enlarge the selected bars, so I have a clear frame around (Method 2)
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 32; with VisualAppearance do begin Add(1,'c:\exontrol\images\normal.ebn'); Add(2,'CP:1 -2 -2 2 2'); end; with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/1/2002'; SelBarColor := $2000000; Bars.Item['Task'].Color := $1000000; end; Columns.Add('Task'); with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/2/2002','1/4/2002','A',Nil); AddBar(h,'Task','1/6/2002','1/10/2002','B',Nil); AddBar(h,'Task','1/11/2002','1/14/2002','C',Nil); ItemBar[h,'A',EXG2ANTTLib.ItemBarPropertyEnum.exBarSelected] := TObject(True); ItemBar[h,'B',EXG2ANTTLib.ItemBarPropertyEnum.exBarSelected] := TObject(True); end; EndUpdate(); end |
1464 |
How can I mark or enlarge the selected bars, so I have a clear frame around (Method 1)
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 32; with VisualAppearance do begin Add(1,'gBFLBCJwBAEHhEJAEGg4BNkMQAAYAQGKIYBkAKBQAGaAoDDYNQwQwAAwjIKEEwsACEIrjKCVIgkHYJRjGEZxMAsEwjAoaQChEZRUhEMgxDDIIxAJIcaw0GSEZwgOQZBi' + 'OEYnDANMgzDLMZR7DajYymSA6LiKNo+QjKFB0NLMVRtEIIIzCSCaNomT4DS4NIi2DYcVhhMqBYbtCZZBo2FpZUxXdL0BJMVxbHKYJikW4pVjoAJ+TxccjVDQNJyLQ6rY' + 'zuAAKNpuO58RbdGDQHA9KyfLCEcTxYAMbp6X5kaBZVp2VCMRzbTLUIDzPNVCTrNIaJioAaMeiCG5NUzieqRNalLABFjZMIHDbtGynDIJZruW52+CLIZpWbEOiRXr2Txx' + 'gGYp5Fie5mAYBgIgSFDrDOIZUmQZYiECXJUjIEQ3lUGgbEIRQcg+Hg8DEFxYFuOR/i+X5znufh/omBgCgCVwjn4BoBmCCAmAqApgkefgMgOYQID4DoELsUgTgUYYIC4F' + '4GGGSAaBuBxhhgfgggUYgog4EYJGIaBJn6ChiBiLgsgkIpoj4J4BCMSJWDaDZjgiZgCEAQCAgA=='); Add(2,'CP:1 -2 -2 2 2'); end; with Chart do begin FirstVisibleDate := '1/1/2002'; SelBarColor := $2000000; PaneWidth[False] := 48; end; Columns.Add('Task'); with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/2/2002','1/4/2002','A',Nil); AddBar(h,'Task','1/6/2002','1/10/2002','B',Nil); AddBar(h,'Task','1/11/2002','1/14/2002','C',Nil); ItemBar[h,'A',EXG2ANTTLib.ItemBarPropertyEnum.exBarSelected] := TObject(True); ItemBar[h,'B',EXG2ANTTLib.ItemBarPropertyEnum.exBarSelected] := TObject(True); end; EndUpdate(); end |
1463 |
How can I load my table from an Access 2007, using ADO
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TWinForm1.AxG2antt1_AddItem(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_AddItemEvent); begin with AxG2antt1 do begin with Items do begin AddBar(e.item,'Task',CellValue[TObject(e.item),TObject(2)],CellValue[TObject(e.item),TObject(4)],Nil,Nil); end; end end; with AxG2antt1 do begin BeginUpdate(); with Chart do begin FirstVisibleDate := '8/3/1994'; PaneWidth[False] := 256; LevelCount := 2; UnitScale := EXG2ANTTLib.UnitEnum.exDay; FirstWeekDay := EXG2ANTTLib.WeekDayEnum.exMonday; OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible; end; ColumnAutoResize := False; ContinueColumnScroll := False; rs := (ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset')) as ADODB.Recordset); with rs do begin Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb',3,3,Nil); end; DataSource := (rs as ADODB.Recordset); Items.AllowCellValueToItemBar := True; Columns.Item[TObject(2)].Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(1); Columns.Item[TObject(4)].Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(2); EndUpdate(); end |
1462 |
Is it possible to enumerate the links without enumerating them
with AxG2antt1 do begin AntiAliasing := True; Columns.Add('Task'); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 128; NonworkingDays := 0; LinksWidth := 2; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/6/2001','1/8/2001','K2',Nil); AddLink('L1',h1,'K1',h2,'K2'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/10/2001','1/12/2001','K3',Nil); AddLink('L2',h2,'K2',h3,'K3'); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/14/2001','1/16/2001','K4',Nil); AddLink('L3',h3,'K3',h4,'K4'); Link['<L*>',EXG2ANTTLib.LinkPropertyEnum.exLinkShowDir] := TObject(False); end; end |
1461 |
How can I display a vertical line in the chart
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control. procedure TWinForm1.AxG2antt1_ClickEvent(sender: System.Object; e: System.EventArgs); begin with AxG2antt1 do begin with Chart do begin MarkNowColor := $ff; MarkNow := TObject(DateFromPoint[-1,-1]); end; end end; with AxG2antt1 do begin with Chart do begin FirstVisibleDate := '3/13/2012'; PaneWidth[False] := 0; LevelCount := 2; MarkNowColor := $0; MarkNowWidth := 3; UnitWidth := 32; ResizeUnitScale := EXG2ANTTLib.UnitEnum.exHour; end; end |
1460 |
How can I use the MarkNowColor to mark a time line different then the time on the machine
with AxG2antt1 do begin with Chart do begin FirstVisibleDate := '3/13/2012'; PaneWidth[False] := 0; LevelCount := 2; Level[0].Label := TObject(1048576); with Level[1] do begin Label := '<%ss%>'; Count := 15; end; MarkNowColor := $ff; MarkNowWidth := 3; MarkNow := '3/13/2012 12:03:20 AM'; end; end |
1459 |
Is it possible to show the current date time using a delay
with AxG2antt1 do begin with Chart do begin PaneWidth[False] := 0; LevelCount := 2; Level[0].Label := TObject(1048576); with Level[1] do begin Label := '<%ss%>'; Count := 15; end; MarkNowColor := $ff0000; MarkNowWidth := 3; MarkNowDelay := 0.00069444; end; Columns.Add('Tasks'); with Items do begin AddBar(AddItem('Item 1'),'Task','1/1/2008','1/1/2018',Nil,Nil); end; end |
1458 |
What are the options to show the links between bars
with AxG2antt1 do begin AntiAliasing := True; Columns.Add('Task'); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 128; NonworkingDays := 0; LinksWidth := 2; end; with Items do begin h1 := AddItem('Task 1'); AddItem(''); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil); h2 := AddItem('Task 2'); AddItem(''); AddBar(h2,'Task','1/6/2001','1/8/2001','K2',Nil); AddLink('L1',h1,'K1',h2,'K2'); h3 := AddItem('Task 3'); AddItem(''); AddBar(h3,'Task','1/12/2001','1/14/2001','K3',Nil); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkShowRound] := TObject(-1); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/18/2001','1/20/2001','K4',Nil); AddLink('L3',h3,'K3',h4,'K4'); Link['L3',EXG2ANTTLib.LinkPropertyEnum.exLinkShowRound] := TObject(1); AddItem(''); h5 := AddItem('Task 5'); AddBar(h5,'Task','1/22/2001','1/24/2001','K5',Nil); AddLink('L4',h4,'K4',h5,'K5'); Link['L4',EXG2ANTTLib.LinkPropertyEnum.exLinkShowRound] := TObject(2); end; end |
1457 |
Is it possible to specify the link between bars to be a wider line
with AxG2antt1 do begin Columns.Add('Task'); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 128; NonworkingDays := 0; LinksStyle := EXG2ANTTLib.LinkStyleEnum.exLinkSolid; LinksWidth := 2; LinksColor := $ff; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/6/2001','1/8/2001','K2',Nil); AddLink('L1',h1,'K1',h2,'K2'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/10/2001','1/12/2001','K3',Nil); AddLink('L2',h2,'K2',h3,'K3'); end; end |
1456 |
Is it possible to create a link between the two specified bars so that the link was a straight line
with AxG2antt1 do begin Columns.Add('Task'); AntiAliasing := True; with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 128; NonworkingDays := 0; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/6/2001','1/8/2001','K2',Nil); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib.LinkPropertyEnum.exLinkStyle] := TObject(0); Link['L1',EXG2ANTTLib.LinkPropertyEnum.exLinkWidth] := TObject(2); Link['L1',EXG2ANTTLib.LinkPropertyEnum.exLinkColor] := TObject(255); Link['L1',EXG2ANTTLib.LinkPropertyEnum.exLinkShowRound] := TObject(2); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/10/2001','1/12/2001','K3',Nil); AddLink('L2',h2,'K2',h3,'K3'); end; end |
1455 |
I associate the bars with my columns, Start and End, but can not get it working for bars with non-empty keys. What am I doing wrong
with AxG2antt1 do begin BeginUpdate(); with Columns do begin Add('Tasks'); with (Add('Start') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(1); Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarKey] := 'A'; end; with (Add('End') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(2); Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarKey] := 'A'; end; end; Items.AllowCellValueToItemBar := True; with Chart do begin PaneWidth[False] := 256; FirstVisibleDate := '1/1/2002'; LevelCount := 2; Bars.Item['Task'].OverlaidType := EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack; end; with Items do begin AddBar(AddItem('Task 1'),'Task','1/4/2002','1/8/2002','A','A'); h := AddItem('Task 2'); AddBar(h,'Task','1/6/2002','1/10/2002','A','A'); AddBar(h,'Task','1/4/2002','1/8/2002','B','B'); ItemBar[h,'B',EXG2ANTTLib.ItemBarPropertyEnum.exBarColor] := TObject(255); end; EndUpdate(); end |
1454 |
The right pane needs to show ONLY the hours 6am to 9pm (every hour) for one day only and the user should not to be able to scroll left or right nor see any other hours. How can I do that
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with Chart do begin LevelCount := 2; ScrollRange[EXG2ANTTLib.ScrollRangeEnum.exStartDate] := '1/1/2001'; ScrollRange[EXG2ANTTLib.ScrollRangeEnum.exEndDate] := '1/1/2001'; UnitScale := EXG2ANTTLib.UnitEnum.exHour; NonworkingHours := 12582975; ShowNonworkingUnits := False; ShowNonworkingHours := False; Level[0].Alignment := Integer(EXG2ANTTLib.AlignmentEnum.exHOutside) Or Integer(EXG2ANTTLib.AlignmentEnum.CenterAlignment); UnitWidth := 18; PaneWidth[True] := 294; ScrollBar := False; end; OnResizeControl := EXG2ANTTLib.OnResizeControlEnum.exDisableSplitter; EndUpdate(); end |
1453 |
Is it possible to count only a specified type of bars without enumerating them
with AxG2antt1 do begin Columns.Add('Tasks'); Chart.FirstVisibleDate := '1/1/2001'; with Items do begin AddBar(AddItem('Task 1'),'Task','1/2/2001','1/4/2001','K1','K1'); AddBar(AddItem('Task 2'),'Progress','1/3/2001','1/5/2001',Nil,Nil); AddBar(AddItem('Task 3'),'Task','1/2/2001','1/4/2001','P3','P3'); OutputDebugString( 'K*' ); OutputDebugString( ItemBar[0,'<K*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarsCount] ); OutputDebugString( 'K* P*' ); OutputDebugString( ItemBar[0,'<K* P*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarsCount] ); end; end |
1452 |
How can I count or get the numbers of the bars in the chart
with AxG2antt1 do begin Columns.Add('Tasks'); Chart.FirstVisibleDate := '1/1/2001'; with Items do begin AddBar(AddItem('Task 1'),'Task','1/2/2001','1/4/2001','K1','K1'); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','A2','A2'); AddBar(AddItem('Task 3'),'Task','1/2/2001','1/4/2001','K3','K3'); OutputDebugString( 'All' ); OutputDebugString( ItemBar[0,'<*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarsCount] ); OutputDebugString( 'A*' ); OutputDebugString( ItemBar[0,'<A*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarsCount] ); OutputDebugString( 'K*' ); OutputDebugString( ItemBar[0,'<K*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarsCount] ); end; end |
1451 |
Is it possible to remove only specified bars from ALL items at once
with AxG2antt1 do begin Columns.Add('Tasks'); Chart.FirstVisibleDate := '1/1/2001'; with Items do begin AddBar(AddItem('Task 1'),'Task','1/2/2001','1/4/2001','K1','K1'); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','A2','A2'); AddBar(AddItem('Task 3'),'Task','1/2/2001','1/4/2001','K3','K3'); RemoveBar(0,'<K*>'); end; end |
1450 |
How can I remove all bars from the chart (method 2)
with AxG2antt1 do begin Columns.Add('Tasks'); Chart.FirstVisibleDate := '1/1/2001'; with Items do begin AddBar(AddItem('Task 1'),'Task','1/2/2001','1/4/2001','K1','K1'); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','A2','A2'); AddBar(AddItem('Task 3'),'Task','1/2/2001','1/4/2001','K3','K3'); ClearBars(0); end; end |
1449 |
How can I remove all bars from the chart (method 1)
with AxG2antt1 do begin Columns.Add('Tasks'); Chart.FirstVisibleDate := '1/1/2001'; with Items do begin AddBar(AddItem('Task 1'),'Task','1/2/2001','1/4/2001','K1','K1'); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','A2','A2'); AddBar(AddItem('Task 3'),'Task','1/2/2001','1/4/2001','K3','K3'); RemoveBar(0,'<*>'); end; end |
1448 |
Is it possible to update at once a property for several bars without enumerating them
with AxG2antt1 do begin Columns.Add('Tasks'); Chart.FirstVisibleDate := '1/1/2001'; with Items do begin AddBar(AddItem('Task 1'),'Task','1/2/2001','1/4/2001','K1','K1'); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','A2','A2'); AddBar(AddItem('Task 3'),'Task','1/2/2001','1/4/2001','K3','K3'); ItemBar[0,'<K*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarColor] := TObject(255); end; end |
1447 |
Is it possible to update at once a property of ALL bars without enumerating them
with AxG2antt1 do begin Columns.Add('Tasks'); Chart.FirstVisibleDate := '1/1/2001'; with Items do begin AddBar(AddItem('Task 1'),'Task','1/2/2001','1/4/2001','K1','K1'); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','A2','A2'); AddBar(AddItem('Task 3'),'Task','1/2/2001','1/4/2001','K3','K3'); ItemBar[0,'<*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarColor] := TObject(255); end; end |
1446 |
How do I prevent selecting a new item when selecting a bar
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '12/29/2000'; PaneWidth[False] := 64; LevelCount := 2; SelectOnClick := False; end; with Items do begin AddBar(AddItem('Task 1'),'Task','1/2/2001','1/4/2001','K1',Nil); AddBar(AddItem('Task 2'),'Task','1/4/2001','1/6/2001','K2',Nil); AddBar(AddItem('Task 3'),'Task','1/8/2001','1/10/2001','K3',Nil); SelectItem[FirstVisibleItem] := True; end; EndUpdate(); end |
1445 |
Is it possible to find out all incoming bars ( recursively )
// MouseMove event - Occurs when the user moves the mouse. procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent); begin with AxG2antt1 do begin b := Chart.BarFromPoint[-1,-1]; i := get_ItemFromPoint(-1,-1,c,hit); OutputDebugString( Items.ItemBar[i,TObject(b),EXG2ANTTLib.ItemBarPropertyEnum.exBarIncomingBarsAllDebug] ); end end; with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 96; NonworkingDays := 0; AllowLinkBars := True; AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarAuto; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','A','A'); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/5/2001','1/7/2001','B','B'); AddLink('L1',h1,'A',h2,'B'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','C','C'); AddLink('L2',h2,'B',h3,'C'); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/8/2001','1/10/2001','D','D'); AddLink('L3',h1,'A',h4,'D'); end; EndUpdate(); end |
1444 |
How do I find the incoming bars
// MouseMove event - Occurs when the user moves the mouse. procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent); begin with AxG2antt1 do begin b := Chart.BarFromPoint[-1,-1]; i := get_ItemFromPoint(-1,-1,c,hit); OutputDebugString( Items.ItemBar[i,TObject(b),EXG2ANTTLib.ItemBarPropertyEnum.exBarIncomingBarsDebug] ); end end; with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 96; NonworkingDays := 0; AllowLinkBars := True; AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarAuto; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','A','A'); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/5/2001','1/7/2001','B','B'); AddLink('L1',h1,'A',h2,'B'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','C','C'); AddLink('L2',h2,'B',h3,'C'); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/8/2001','1/10/2001','D','D'); AddLink('L3',h1,'A',h4,'D'); end; EndUpdate(); end |
1443 |
Is it possible to find out all incoming links ( recursively ). Incoming link is a link from another bar to the current bar
// MouseMove event - Occurs when the user moves the mouse. procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent); begin with AxG2antt1 do begin b := Chart.BarFromPoint[-1,-1]; i := get_ItemFromPoint(-1,-1,c,hit); OutputDebugString( Items.ItemBar[i,TObject(b),EXG2ANTTLib.ItemBarPropertyEnum.exBarIncomingLinksAllAsString] ); end end; with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 96; NonworkingDays := 0; AllowLinkBars := True; AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarAuto; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','A','A'); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/5/2001','1/7/2001','B','B'); AddLink('L1',h1,'A',h2,'B'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','C','C'); AddLink('L2',h2,'B',h3,'C'); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/8/2001','1/10/2001','D','D'); AddLink('L3',h1,'A',h4,'D'); end; EndUpdate(); end |
1442 |
How do I find the incoming links. Incoming link is link from another bar to the current bar
// MouseMove event - Occurs when the user moves the mouse. procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent); begin with AxG2antt1 do begin b := Chart.BarFromPoint[-1,-1]; i := get_ItemFromPoint(-1,-1,c,hit); OutputDebugString( Items.ItemBar[i,TObject(b),EXG2ANTTLib.ItemBarPropertyEnum.exBarIncomingLinksAsString] ); end end; with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 96; NonworkingDays := 0; AllowLinkBars := True; AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarAuto; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','A','A'); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/5/2001','1/7/2001','B','B'); AddLink('L1',h1,'A',h2,'B'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','C','C'); AddLink('L2',h2,'B',h3,'C'); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/8/2001','1/10/2001','D','D'); AddLink('L3',h1,'A',h4,'D'); end; EndUpdate(); end |
1441 |
Is it possible to find out all outgoing bars ( recursively )
// MouseMove event - Occurs when the user moves the mouse. procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent); begin with AxG2antt1 do begin b := Chart.BarFromPoint[-1,-1]; i := get_ItemFromPoint(-1,-1,c,hit); OutputDebugString( Items.ItemBar[i,TObject(b),EXG2ANTTLib.ItemBarPropertyEnum.exBarOutgoingBarsAllDebug] ); end end; with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 96; NonworkingDays := 0; AllowLinkBars := True; AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarAuto; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','A','A'); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/5/2001','1/7/2001','B','B'); AddLink('L1',h1,'A',h2,'B'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','C','C'); AddLink('L2',h2,'B',h3,'C'); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/8/2001','1/10/2001','D','D'); AddLink('L3',h1,'A',h4,'D'); end; EndUpdate(); end |
1440 |
How do I find the outgoing bars
// MouseMove event - Occurs when the user moves the mouse. procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent); begin with AxG2antt1 do begin b := Chart.BarFromPoint[-1,-1]; i := get_ItemFromPoint(-1,-1,c,hit); OutputDebugString( Items.ItemBar[i,TObject(b),EXG2ANTTLib.ItemBarPropertyEnum.exBarOutgoingBarsDebug] ); end end; with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 96; NonworkingDays := 0; AllowLinkBars := True; AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarAuto; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','A','A'); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/5/2001','1/7/2001','B','B'); AddLink('L1',h1,'A',h2,'B'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','C','C'); AddLink('L2',h2,'B',h3,'C'); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/8/2001','1/10/2001','D','D'); AddLink('L3',h1,'A',h4,'D'); end; EndUpdate(); end |
1439 |
Is it possible to find out all outgoing links ( recursively ). Outgoing link is link from a bar to another bar
// MouseMove event - Occurs when the user moves the mouse. procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent); begin with AxG2antt1 do begin b := Chart.BarFromPoint[-1,-1]; i := get_ItemFromPoint(-1,-1,c,hit); OutputDebugString( Items.ItemBar[i,TObject(b),EXG2ANTTLib.ItemBarPropertyEnum.exBarOutgoingLinksAllAsString] ); end end; with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 96; NonworkingDays := 0; AllowLinkBars := True; AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarAuto; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','A','A'); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/5/2001','1/7/2001','B','B'); AddLink('L1',h1,'A',h2,'B'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','C','C'); AddLink('L2',h2,'B',h3,'C'); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/8/2001','1/10/2001','D','D'); AddLink('L3',h1,'A',h4,'D'); end; EndUpdate(); end |
1438 |
How do I find the outgoing links. Outgoing link is link from a bar to another bar
// MouseMove event - Occurs when the user moves the mouse. procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent); begin with AxG2antt1 do begin b := Chart.BarFromPoint[-1,-1]; i := get_ItemFromPoint(-1,-1,c,hit); OutputDebugString( Items.ItemBar[i,TObject(b),EXG2ANTTLib.ItemBarPropertyEnum.exBarOutgoingLinksAsString] ); end end; with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 96; NonworkingDays := 0; AllowLinkBars := True; AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarAuto; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','A','A'); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/5/2001','1/7/2001','B','B'); AddLink('L1',h1,'A',h2,'B'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','C','C'); AddLink('L2',h2,'B',h3,'C'); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/8/2001','1/10/2001','D','D'); AddLink('L3',h1,'A',h4,'D'); end; EndUpdate(); end |
1437 |
How do I select a bar using the right-click
// MouseDown event - Occurs when the user presses a mouse button. procedure TWinForm1.AxG2antt1_MouseDownEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseDownEvent); begin with AxG2antt1 do begin with Items do begin ItemBar[0,'<*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarSelected] := TObject(False); ItemBar[AxG2antt1.ItemFromPoint[-1,-1,c,hit],AxG2antt1.Chart.BarFromPoint[-1,-1],EXG2ANTTLib.ItemBarPropertyEnum.exBarSelected] := TObject(True); end; end end; with AxG2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '12/29/2000'; PaneWidth[False] := 64; LevelCount := 2; end; with Items do begin AddBar(AddItem('Task 1'),'Task','1/2/2001','1/4/2001','K1',Nil); AddBar(AddItem('Task 2'),'Task','1/4/2001','1/6/2001','K2',Nil); AddBar(AddItem('Task 3'),'Task','1/8/2001','1/10/2001','K3',Nil); end; EndUpdate(); end |
1436 |
How can I add or change the padding (spaces) for captions in the control's header
with AxG2antt1 do begin BeginUpdate(); (Columns.Add('Padding-Left') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exHeaderPaddingLeft] := TObject(18); with (Columns.Add('Padding-Right') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exHeaderPaddingRight] := TObject(18); HeaderAlignment := EXG2ANTTLib.AlignmentEnum.RightAlignment; end; EndUpdate(); end |
1435 |
Do you have any plans to add cell spacing and cell padding to the cells
with AxG2antt1 do begin BeginUpdate(); DrawGridLines := EXG2ANTTLib.GridLinesEnum.exRowLines; with (Columns.Add('Padding-Left') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellHasCheckBox] := TObject(True); Def[EXG2ANTTLib.DefColumnEnum.exCellPaddingLeft] := TObject(18); end; (Columns.Add('No-Padding') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellHasCheckBox] := TObject(True); (Columns.Add('Empty') as EXG2ANTTLib.Column).Position := 0; with Items do begin CellValue[TObject(AddItem('Item A.1')),TObject(1)] := 'Item A.2'; CellValue[TObject(AddItem('Item B.1')),TObject(1)] := 'Item B.2'; CellValue[TObject(AddItem('Item C.1')),TObject(1)] := 'Item C.2'; end; EndUpdate(); end |
1434 |
Can I display somehow the filter just on the top of the list, with an editor associated to each column
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TWinForm1.AxG2antt1_AddItem(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_AddItemEvent); begin with AxG2antt1 do begin with Items do begin AddBar(e.item,'Task',CellValue[TObject(e.item),TObject(2)],CellValue[TObject(e.item),TObject(4)],Nil,Nil); end; end end; // Change event - Occurs when the user changes the cell's content. procedure TWinForm1.AxG2antt1_Change(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_ChangeEvent); begin with AxG2antt1 do begin OutputDebugString( 'Locked:' ); OutputDebugString( Items.IsItemLocked[e.item] ); with Columns.Item[TObject(e.colIndex)] do begin Filter := e.newValue; FilterType := EXG2ANTTLib.FilterTypeEnum.exPattern; end; ApplyFilter(); end end; // MouseUp event - Occurs when the user releases a mouse button. procedure TWinForm1.AxG2antt1_MouseUpEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseUpEvent); begin with AxG2antt1 do begin Edit(Items.LockedItem[EXG2ANTTLib.VAlignmentEnum.exTop,0]); end end; with AxG2antt1 do begin ColumnAutoResize := False; ScrollBySingleLine := True; ContinueColumnScroll := False; Chart.FirstVisibleDate := '8/3/1994'; rs := (ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset')) as ADODB.Recordset); with rs do begin Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb',3,3,Nil); end; DataSource := (rs as ADODB.Recordset); with Items do begin LockedItemCount[EXG2ANTTLib.VAlignmentEnum.exTop] := 2; h := LockedItem[EXG2ANTTLib.VAlignmentEnum.exTop,0]; CellEditor[TObject(h),TObject(0)].EditType := EXG2ANTTLib.EditTypeEnum.EditType; h := LockedItem[EXG2ANTTLib.VAlignmentEnum.exTop,1]; ItemHeight[h] := 4; ItemDivider[h] := 0; SelectableItem[h] := False; end; end |
1433 |
Is it possible to display information about the firing events
|
1432 |
I need to specify the start and end dates of the bar to be the same, but to keep count of the working units. Is it possible
with AxG2antt1 do begin BeginUpdate(); MarkSearchColumn := False; with Columns do begin Add('Tasks'); (Add('Start') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(1); (Add('End') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(543); end; with Chart do begin FirstVisibleDate := '9/20/2006'; LevelCount := 2; PaneWidth[False] := 256; ShowEmptyBars := 1; Bars.Add('Task:Split').Shortcut := 'Task'; end; with Items do begin AllowCellValueToItemBar := True; AddBar(AddItem('Task 1'),'Task','9/21/2006','9/21/2006',Nil,Nil); AddBar(AddItem('Task 2'),'Task','9/22/2006','9/25/2006',Nil,Nil); AddBar(AddItem('Task 3'),'Task','9/25/2006','9/25/2006',Nil,Nil); ItemBar[0,'<*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount] := TObject(True); end; EndUpdate(); end |
1431 |
I need to specify the start and end dates of the bar to be the same, but no bars are shown. (NOT recommended for bars with exBarKeepWorkingCount ) What I can do
with AxG2antt1 do begin BeginUpdate(); MarkSearchColumn := False; with Columns do begin Add('Tasks'); (Add('Start') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(1); (Add('End') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(543); end; with Chart do begin FirstVisibleDate := '9/20/2006'; LevelCount := 2; PaneWidth[False] := 256; ShowEmptyBars := 1; end; with Items do begin AllowCellValueToItemBar := True; AddBar(AddItem('Task 1'),'Task','9/21/2006','9/21/2006',Nil,Nil); AddBar(AddItem('Task 2'),'Task','9/22/2006','9/22/2006',Nil,Nil); AddBar(AddItem('Task 3'),'Task','9/25/2006','9/25/2006',Nil,Nil); end; EndUpdate(); end |
1430 |
I need my chart to display the end date with on day less. How can I do this (Method 2)
with AxG2antt1 do begin BeginUpdate(); MarkSearchColumn := False; with Columns do begin Add('Tasks'); with (Add('Start') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(1); Editor.EditType := EXG2ANTTLib.EditTypeEnum.DateType; end; with (Add('End') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(543); Editor.EditType := EXG2ANTTLib.EditTypeEnum.DateType; end; end; with Chart do begin FirstVisibleDate := '9/20/2006'; LevelCount := 2; PaneWidth[False] := 256; NonworkingDays := 0; end; with Items do begin AllowCellValueToItemBar := True; AddBar(AddItem('Task 1'),'Task','9/21/2006','9/24/2006',Nil,Nil); AddBar(AddItem('Task 2'),'Task','9/22/2006','9/25/2006',Nil,Nil); AddBar(AddItem('Task 3'),'Task','9/23/2006','9/26/2006',Nil,Nil); end; EndUpdate(); end |
1429 |
Is it possible to change the width of a specified time unit
with AxG2antt1 do begin BeginUpdate(); with Chart do begin PaneWidth[False] := 0; LevelCount := 2; FirstVisibleDate := '1/1/2008'; AllowInsideZoom := True; AllowResizeInsideZoom := False; InsideZoomOnDblClick := False; DefaultInsideZoomFormat.BackColorChart := $ff00ff; with InsideZooms do begin SplitBaseLevel := False; DefaultWidth := 18; with Add('1/15/2008') do begin AllowInsideFormat := False; Width := 128; end; end; end; EndUpdate(); end |
1428 |
The level unit of the chart is set to day, so i'd like to set the whole background of the current day. Is it possible to set a background color only on the current day (Method 2)
with AxG2antt1 do begin BeginUpdate(); with Chart do begin PaneWidth[False] := 0; LevelCount := 2; FirstVisibleDate := '1/1/2008'; AllowInsideZoom := True; AllowResizeInsideZoom := False; InsideZoomOnDblClick := False; DefaultInsideZoomFormat.BackColorChart := $ff; with InsideZooms do begin SplitBaseLevel := False; DefaultWidth := 18; Add('1/15/2008').AllowInsideFormat := False; end; end; EndUpdate(); end |
1427 |
The level unit of the chart is set to day, so i'd like to set the whole background of the current day. Is it possible to set a background color only on the current day (Method 1)
with AxG2antt1 do begin BeginUpdate(); with Chart do begin PaneWidth[False] := 0; FirstVisibleDate := '1/1/2008'; MarkTodayColor := BackColor; LevelCount := 2; MarkSelectDateColor := $7fff0000; SelectLevel := 1; SelectDate['1/15/2008'] := True; end; EndUpdate(); end |
1426 |
How can I change the layout of my columns when using the exCRD
with AxG2antt1 do begin BeginUpdate(); DrawGridLines := EXG2ANTTLib.GridLinesEnum.exRowLines; DefaultItemHeight := 36; with Columns do begin with (Add('Column1') as EXG2ANTTLib.Column) do begin Visible := False; Editor.EditType := EXG2ANTTLib.EditTypeEnum.EditType; end; with (Add('Column2') as EXG2ANTTLib.Column) do begin Visible := False; Editor.EditType := EXG2ANTTLib.EditTypeEnum.EditType; end; (Add('Column3') as EXG2ANTTLib.Column).Visible := False; with (Add('FormatLevel') as EXG2ANTTLib.Column) do begin FormatLevel := '(0/1),2'; Def[EXG2ANTTLib.DefColumnEnum.exCellFormatLevel] := TObject(FormatLevel); end; end; with Items do begin h := AddItem('Cell 1.1'); CellValue[TObject(h),TObject(1)] := 'Cell 1.2'; CellValue[TObject(h),TObject(2)] := 'Cell 1.3'; h := AddItem('Cell 2.1'); CellValue[TObject(h),TObject(1)] := 'Cell 2.2'; CellValue[TObject(h),TObject(2)] := 'Cell 2.3'; end; EndUpdate(); end |
1425 |
How can I overlaid a single bar
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 22; Columns.Add('Task'); ScrollBySingleLine := True; BackColorAlternate := Color.FromArgb(240,240,240); with Chart do begin AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarAuto; PaneWidth[False] := 48; FirstVisibleDate := '12/28/2000'; LevelCount := 2; with Bars.Item['Task'] do begin OverlaidGroup := 'OTask'; OverlaidType := EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsNone; Def[EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := '<%=%9%>'; end; with Bars.Copy('Task','OTask') do begin OverlaidGroup := 'Task'; OverlaidType := Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStrict) Or Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsCascade); end; end; with Items do begin h1 := AddItem('Default'); h := AddItem('Overlaid'); AddBar(h,'Task','1/2/2001','1/4/2001','A1',Nil); AddBar(h,'Task','1/4/2001','1/7/2001','A3',Nil); AddBar(h,'OTask','1/3/2001','1/5/2001','A2',Nil); ItemBar[h,'A2',EXG2ANTTLib.ItemBarPropertyEnum.exBarColor] := TObject(255); AddBar(h,'Task','1/5/2001','1/8/2001','A4',Nil); h1 := AddItem('Default'); end; EndUpdate(); end |
1424 |
How can I use the exOverlaidBarsCascade, exBarOverlaidKey
// CreateBar event - Fired when the user creates a new bar. procedure TWinForm1.AxG2antt1_CreateBar(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_CreateBarEvent); begin with AxG2antt1 do begin Items.ItemBar[e.item,'newbar',EXG2ANTTLib.ItemBarPropertyEnum.exBarOverlaidKey] := 'Level0'; end end; with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 22; Columns.Add('Task'); ScrollBySingleLine := True; BackColorAlternate := Color.FromArgb(240,240,240); with Chart do begin AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarAuto; PaneWidth[False] := 48; FirstVisibleDate := '12/28/2000'; LevelCount := 2; with Bars.Item['Task'] do begin OverlaidType := EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsCascade; Def[EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := '<%=%9%>'; end; end; with Items do begin h1 := AddItem('Default'); h := AddItem('Overlaid'); AddBar(h,'Task','1/2/2001','1/4/2001','A1',Nil); ItemBar[h,'A1',EXG2ANTTLib.ItemBarPropertyEnum.exBarOverlaidKey] := 'Level0'; AddBar(h,'Task','1/4/2001','1/7/2001','A3',Nil); ItemBar[h,'A3',EXG2ANTTLib.ItemBarPropertyEnum.exBarOverlaidKey] := 'Level0'; AddBar(h,'Task','1/3/2001','1/5/2001','A2',Nil); ItemBar[h,'A2',EXG2ANTTLib.ItemBarPropertyEnum.exBarColor] := TObject(255); ItemBar[h,'A2',EXG2ANTTLib.ItemBarPropertyEnum.exBarOverlaidKey] := 'Level1'; AddBar(h,'Task','1/5/2001','1/8/2001','A4',Nil); ItemBar[h,'A4',EXG2ANTTLib.ItemBarPropertyEnum.exBarColor] := TObject(255); ItemBar[h,'A4',EXG2ANTTLib.ItemBarPropertyEnum.exBarOverlaidKey] := 'Level1'; h1 := AddItem('Default'); end; EndUpdate(); end |
1423 |
How can I use the exOverlaidBarsStack+exOverlaidBarsStackAutoArrange
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 22; Columns.Add('Task'); ScrollBySingleLine := True; BackColorAlternate := Color.FromArgb(240,240,240); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '12/28/2000'; LevelCount := 2; with Bars.Item['Task'] do begin OverlaidType := Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange) Or Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack); Def[EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := '<%=%9%>'; end; end; with Items do begin h1 := AddItem('Default'); h := AddItem('Overlaid'); AddBar(h,'Task','1/2/2001','1/4/2001','A1',Nil); AddBar(h,'Task','1/3/2001','1/5/2001','A2',Nil); AddBar(h,'Task','1/4/2001','1/7/2001','A3',Nil); AddBar(h,'Task','1/5/2001','1/8/2001','A4',Nil); h1 := AddItem('Default'); end; EndUpdate(); end |
1422 |
How can I use the exOverlaidBarsStack
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 22; Columns.Add('Task'); ScrollBySingleLine := True; BackColorAlternate := Color.FromArgb(240,240,240); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '12/28/2000'; LevelCount := 2; with Bars.Item['Task'] do begin OverlaidType := EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack; Def[EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := '<%=%9%>'; end; end; with Items do begin h1 := AddItem('Default'); h := AddItem('Overlaid'); AddBar(h,'Task','1/2/2001','1/4/2001','A1',Nil); AddBar(h,'Task','1/3/2001','1/5/2001','A2',Nil); AddBar(h,'Task','1/4/2001','1/7/2001','A3',Nil); AddBar(h,'Task','1/5/2001','1/8/2001','A4',Nil); h1 := AddItem('Default'); end; EndUpdate(); end |
1421 |
How can I use the exOverlaidBarsIntersect
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 22; Columns.Add('Task'); ScrollBySingleLine := True; BackColorAlternate := Color.FromArgb(240,240,240); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '12/28/2000'; LevelCount := 2; with Bars.Item['Task'] do begin OverlaidType := EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsIntersect; Overlaid[EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsIntersect] := 'Progress'; Def[EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := '<%=%9%>'; end; end; with Items do begin h1 := AddItem('Default'); h := AddItem('Overlaid'); AddBar(h,'Task','1/2/2001','1/4/2001','A1',Nil); AddBar(h,'Task','1/3/2001','1/5/2001','A2',Nil); AddBar(h,'Task','1/4/2001','1/7/2001','A3',Nil); AddBar(h,'Task','1/5/2001','1/8/2001','A4',Nil); h1 := AddItem('Default'); end; EndUpdate(); end |
1420 |
How can I use the exOverlaidBarsOffset
with AxG2antt1 do begin BeginUpdate(); DefaultItemHeight := 22; Columns.Add('Task'); ScrollBySingleLine := True; BackColorAlternate := Color.FromArgb(240,240,240); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '12/28/2000'; LevelCount := 2; with Bars.Item['Task'] do begin OverlaidType := EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsOffset; Def[EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := '<%=%9%>'; end; end; with Items do begin h1 := AddItem('Default'); h := AddItem('Overlaid'); AddBar(h,'Task','1/2/2001','1/4/2001','A1',Nil); AddBar(h,'Task','1/3/2001','1/5/2001','A2',Nil); AddBar(h,'Task','1/4/2001','1/7/2001','A3',Nil); AddBar(h,'Task','1/5/2001','1/8/2001','A4',Nil); h1 := AddItem('Default'); end; EndUpdate(); end |
1419 |
Is it possible to specify the end of the project when using the SchedulePDM method
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 48; LevelCount := 2; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/5/2001','K2',Nil); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'FS'; h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/6/2001','K3',Nil); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'SS'; Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkStartPos] := TObject(0); Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkEndPos] := TObject(0); DefSchedulePDM[EXG2ANTTLib.DefSchedulePDMEnum.exPDMScheduleType] := TObject(2); DefSchedulePDM[EXG2ANTTLib.DefSchedulePDMEnum.exPDMScheduleDate] := '1/8/2001'; SchedulePDM(0,'K1'); end; EndUpdate(); end |
1418 |
Is it possible to specify the start of the project when using the SchedulePDM method
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 48; LevelCount := 2; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/5/2001','K2',Nil); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'FS'; h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/6/2001','K3',Nil); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'SS'; Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkStartPos] := TObject(0); Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkEndPos] := TObject(0); DefSchedulePDM[EXG2ANTTLib.DefSchedulePDMEnum.exPDMScheduleType] := TObject(1); DefSchedulePDM[EXG2ANTTLib.DefSchedulePDMEnum.exPDMScheduleDate] := '1/8/2001'; SchedulePDM(0,'K1'); end; EndUpdate(); end |
1417 |
How can I change the caption or the addition information being displayed in the Zoom-OnFly view
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/1/2001'; LevelCount := 2; AllowZoomOnFly := EXG2ANTTLib.ZoomOnFlyEnum.exZoomOnFly; ResizeUnitScale := EXG2ANTTLib.UnitEnum.exHour; Label[EXG2ANTTLib.UnitEnum.exHour] := '<font ;5><b><%h%><br><%AM/PM%></b></font>'; ZoomOnFlyCaption := '<br><c><b><font ;12><%=%C0 + '' / <fgcolor=00FF00>'' + %3%></font></fgcolor></b><br><solidline><upline><b>Start</b>:<%=%1%><br><b>' + 'End</b>:<%=%2%><br><b>Duration</b>:<%=round(%2-%1) + '' days''%><br><b>Working</b>:<%=''<b>'' + int(%258) + ''</b> days'' + (0:=(%258 ' + '- int(%258)) ? ('' <fgcolor=FF0000><b>'' + round(24 * =:0) + ''</b> hours'') : '''') %>'; end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/7/2001','1/10/2001','T1','T1'); AddBar(h,'Task','1/11/2001','1/14/2001','T3','T3'); h := AddItem(Nil); AddBar(h,'','1/15/2001','1/15/2001','','Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.'); SelectableItem[h] := False; end; EndUpdate(); end |
1416 |
How can I change the scale in the Zoom-OnFly view
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/1/2001'; LevelCount := 2; AllowZoomOnFly := EXG2ANTTLib.ZoomOnFlyEnum.exZoomOnFly; ResizeUnitScale := EXG2ANTTLib.UnitEnum.exHour; Label[EXG2ANTTLib.UnitEnum.exHour] := '<font ;5><b><%h%><br><%AM/PM%></b></font>'; ZoomOnFlyCaption := ''; end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/7/2001','1/10/2001','T1','T1'); AddBar(h,'Task','1/11/2001','1/14/2001','T3','T3'); h := AddItem(Nil); AddBar(h,'','1/15/2001','1/15/2001','','Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.'); SelectableItem[h] := False; end; EndUpdate(); end |
1415 |
Is it possible to change the Zoom-OnFly view's background color
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/1/2001'; LevelCount := 2; AllowZoomOnFly := EXG2ANTTLib.ZoomOnFlyEnum.exZoomOnFly; BackColorZoomOnFly := $f0f0f0; end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/7/2001','1/10/2001','T1','T1'); AddBar(h,'Task','1/11/2001','1/14/2001','T3','T3'); h := AddItem(Nil); AddBar(h,'','1/15/2001','1/15/2001','','Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.'); SelectableItem[h] := False; end; EndUpdate(); end |
1414 |
How can I include the selected items in the Zoom-OnFly view
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/1/2001'; LevelCount := 2; AllowZoomOnFly := Integer(EXG2ANTTLib.ZoomOnFlyEnum.exZoomOnFlyIncludeSelectedItems) Or Integer(EXG2ANTTLib.ZoomOnFlyEnum.exZoomOnFly); SelBackColor := $f0f0f0; SelectOnClick := False; end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/7/2001','1/10/2001','T1','T1'); SelectItem[h] := True; h := AddItem('Task 2'); AddBar(h,'Task','1/11/2001','1/14/2001','T2','T2'); h := AddItem('Task 3'); AddBar(h,'Task','1/8/2001','1/12/2001','T3','T3'); h := AddItem(Nil); AddBar(h,'','1/15/2001','1/15/2001','','Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.'); SelectableItem[h] := False; end; EndUpdate(); end |
1413 |
Is it possible to include the neighbors items in the Zoom-OnFly view
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/1/2001'; LevelCount := 2; AllowZoomOnFly := Integer(EXG2ANTTLib.ZoomOnFlyEnum.exZoomOnFlyIncludeNeighborItems) Or Integer(EXG2ANTTLib.ZoomOnFlyEnum.exZoomOnFly); end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/7/2001','1/10/2001','T1','T1'); h := AddItem('Task 2'); AddBar(h,'Task','1/11/2001','1/14/2001','T3','T3'); h := AddItem('Task 3'); AddBar(h,'Task','1/8/2001','1/12/2001','T1','T1'); h := AddItem(Nil); AddBar(h,'','1/15/2001','1/15/2001','','Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.'); SelectableItem[h] := False; end; EndUpdate(); end |
1412 |
How can I enable the Zoom-OnFly view
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '11/5/2000'; LevelCount := 2; UnitScale := EXG2ANTTLib.UnitEnum.exWeek; ResizeUnitScale := EXG2ANTTLib.UnitEnum.exDay; AllowZoomOnFly := EXG2ANTTLib.ZoomOnFlyEnum.exZoomOnFly; Bars.Item['Task'].OverlaidType := EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack; end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/7/2001','1/17/2001','T1','T1'); AddBar(h,'Task','1/18/2001','2/24/2001','T3','T3'); h := AddItem(Nil); AddBar(h,'','1/15/2001','1/15/2001','','Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.'); SelectableItem[h] := False; end; EndUpdate(); end |
1411 |
I am using the overlay bars on stack, can I somehow tell a type of bar, or a specific bar, to be always on top of all other’s. Like a Z-Index or something
with AxG2antt1 do begin BeginUpdate(); ScrollBySingleLine := True; Columns.Add('Task'); DrawGridLines := EXG2ANTTLib.GridLinesEnum.exHLines; with Chart do begin DrawGridLines := EXG2ANTTLib.GridLinesEnum.exHLines; AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarAuto; AllowLinkBars := False; ResizeUnitScale := EXG2ANTTLib.UnitEnum.exHour; PaneWidth[False] := 48; FirstVisibleDate := '1/1/2001'; Bars.Item['Task'].OverlaidType := EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack; end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/7/2001','1/10/2001','A1','A1'); AddBar(h,'Task','1/8/2001','1/12/2001','A3','A3'); ItemBar[h,'A3',EXG2ANTTLib.ItemBarPropertyEnum.exBarColor] := TObject(65280); h := AddItem('Task 2'); AddBar(h,'Task','1/7/2001','1/10/2001','A31','A31'); AddBar(h,'Task','1/8/2001','1/12/2001','A3','A3'); ItemBar[h,'A3',EXG2ANTTLib.ItemBarPropertyEnum.exBarColor] := TObject(255); AddBar(AddItem(Nil),'','1/10/2001','1/10/2001',Nil,'The <b>Key</b> of the bar specifies the Z-Order when overlaying.'); end; EndUpdate(); end |
1410 |
Is it possible to specify the z-order when using the overlaying feature
with AxG2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with Chart do begin NonworkingDays := 0; FirstVisibleDate := '9/17/2006'; PaneWidth[False] := 64; LevelCount := 2; Bars.Item['Task'].OverlaidType := EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsCascade; end; with Items do begin h1 := AddItem('Task'); AddBar(h1,'Task','9/21/2006','9/27/2006','K1','K1'); AddBar(h1,'Task','9/23/2006','9/24/2006','K2','K2'); AddBar(h1,'Task','9/22/2006','9/25/2006','K3','K3'); AddBar(h1,'Task','9/21/2006','9/27/2006','T1','T1'); AddBar(h1,'Task','9/28/2006','9/29/2006','T2','T2'); AddBar(h1,'Task','9/30/2006','10/3/2006','T3','T3'); ItemBar[0,'<T*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarColor] := TObject(65280); ItemBar[0,'<K*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarOverlaidKey] := 'A'; ItemBar[0,'<T*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarOverlaidKey] := 'B'; end; EndUpdate(); end |
1409 |
I seen that there is no exBarStartColor, exBarEndColor, similar to exBarColor, is there any solution so I can display a different Start/End Color
with AxG2antt1 do begin BeginUpdate(); with Chart do begin FirstVisibleDate := '1/1/2001'; with Bars.Copy('Summary','Aka1') do begin StartColor := $ff; EndColor := $ff0000; end; with Bars.Copy('Summary','Aka2') do begin StartColor := $ff00; EndColor := $ff00ff; end; end; Columns.Add('Column'); with Items do begin h := AddItem('Item A'); AddBar(h,'Task','1/2/2001','1/6/2001','B1',Nil); ItemBar[h,'B1',EXG2ANTTLib.ItemBarPropertyEnum.exBarName] := 'Aka1'; h := AddItem('Item B'); AddBar(h,'Task','1/2/2001','1/6/2001','B2',Nil); ItemBar[h,'B2',EXG2ANTTLib.ItemBarPropertyEnum.exBarName] := 'Aka2'; end; EndUpdate(); end |
1408 |
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a snapshot
with AxG2antt1 do begin BeginUpdate(); VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn'); set_HTMLPicture('p1','c:\exontrol\images\card.png'); set_HTMLPicture('p2','c:\exontrol\images\sun.png'); AutoDrag := EXG2ANTTLib.AutoDragEnum.exAutoDragCopySnapShot; LinesAtRoot := EXG2ANTTLib.LinesAtRootEnum.exNoLinesAtRoot; HasLines := EXG2ANTTLib.HierarchyLineEnum.exThinLine; ShowFocusRect := False; DefaultItemHeight := 26; Columns.Add('Task'); with Chart do begin ShowNonworkingDates := False; FirstVisibleDate := '12/29/2000'; PaneWidth[False] := 96; LevelCount := 2; with Bars.Item['Task'] do begin Color := $1000000; Height := 18; end; end; with Items do begin h := AddItem('<img>p1:32</img>Group 1'); CellValueFormat[TObject(h),TObject(0)] := EXG2ANTTLib.ValueFormatEnum.exHTML; ItemDivider[h] := 0; ItemBold[h] := True; h1 := InsertItem(h,Nil,'Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil); h2 := InsertItem(h,Nil,'Task 2'); AddBar(h2,'Task','1/5/2001','1/7/2001','K2',Nil); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'L1'; h3 := InsertItem(h,Nil,'Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','K3',Nil); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'L2'; h := AddItem('<img>p2:32</img>Group 2'); CellValueFormat[TObject(h),TObject(0)] := EXG2ANTTLib.ValueFormatEnum.exHTML; ItemBold[h] := True; ItemDivider[h] := 0; h1 := InsertItem(h,Nil,'Task'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil); ExpandItem[0] := True; end; EndUpdate(); end |
1407 |
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a image
with AxG2antt1 do begin BeginUpdate(); set_HTMLPicture('p1','c:\exontrol\images\card.png'); set_HTMLPicture('p2','c:\exontrol\images\sun.png'); Chart.PaneWidth[True] := 0; var_HTMLPicture := get_HTMLPicture('aka1'); HeaderHeight := 24; DefaultItemHeight := 48; DrawGridLines := EXG2ANTTLib.GridLinesEnum.exRowLines; GridLineColor := Color.FromArgb(240,240,240); SelBackMode := EXG2ANTTLib.BackModeEnum.exTransparent; ColumnAutoResize := False; ContinueColumnScroll := False; rs := (ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset')) as ADODB.Recordset); with rs do begin Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb',3,3,Nil); end; DataSource := (rs as ADODB.Recordset); Columns.Item[TObject(0)].Def[EXG2ANTTLib.DefColumnEnum.exCellValueFormat] := TObject(1); Columns.Item[TObject(0)].FormatColumn := 'value + ` <img>p` + (1 + (value mod 3 ) ) + `</img>`'; Columns.Item[TObject(0)].Width := 112; Columns.Item[TObject(1)].Def[EXG2ANTTLib.DefColumnEnum.exCellHasCheckBox] := TObject(1); Columns.Item[TObject(2)].LevelKey := '1'; Columns.Item[TObject(3)].LevelKey := '1'; Columns.Item[TObject(4)].LevelKey := '1'; AutoDrag := EXG2ANTTLib.AutoDragEnum.exAutoDragCopyImage; SingleSel := False; with Items do begin h := ItemByIndex[1]; SelectItem[h] := True; h := ItemByIndex[2]; SelectItem[h] := True; h := ItemByIndex[3]; SelectItem[h] := True; LockedItemCount[EXG2ANTTLib.VAlignmentEnum.exBottom] := 1; h := LockedItem[EXG2ANTTLib.VAlignmentEnum.exBottom,0]; CellValue[TObject(h),TObject(1)] := '<font ;16>Click the selection and <b>wait to start dragging</b>, and then drop to Microsoft Word, ...'; CellSingleLine[TObject(h),TObject(1)] := EXG2ANTTLib.CellSingleLineEnum.exCaptionWordWrap; CellValueFormat[TObject(h),TObject(1)] := EXG2ANTTLib.ValueFormatEnum.exHTML; CellHAlignment[TObject(h),TObject(1)] := EXG2ANTTLib.AlignmentEnum.CenterAlignment; ItemDivider[h] := 1; ItemDividerLineAlignment[h] := EXG2ANTTLib.DividerAlignmentEnum.DividerTop; end; EndUpdate(); end |
1406 |
How can copy and paste the selection to Microsoft Word, Excel or any OLE compliant application, as a text
with AxG2antt1 do begin BeginUpdate(); Chart.PaneWidth[True] := 0; ColumnAutoResize := False; ContinueColumnScroll := False; rs := (ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset')) as ADODB.Recordset); with rs do begin Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb',3,3,Nil); end; DataSource := (rs as ADODB.Recordset); Columns.Item[TObject(2)].LevelKey := '1'; Columns.Item[TObject(3)].LevelKey := '1'; Columns.Item[TObject(4)].LevelKey := '1'; AutoDrag := EXG2ANTTLib.AutoDragEnum.exAutoDragCopyText; SingleSel := False; with Items do begin h := ItemByIndex[1]; SelectItem[h] := True; h := ItemByIndex[3]; SelectItem[h] := True; h := ItemByIndex[4]; SelectItem[h] := True; h := ItemByIndex[5]; SelectItem[h] := True; LockedItemCount[EXG2ANTTLib.VAlignmentEnum.exBottom] := 1; h := LockedItem[EXG2ANTTLib.VAlignmentEnum.exBottom,0]; CellValue[TObject(h),TObject(0)] := '<font ;16>Click the selection and <b>wait to start dragging</b>, and then drop to Microsoft Word, Excel, ...'; CellSingleLine[TObject(h),TObject(0)] := EXG2ANTTLib.CellSingleLineEnum.exCaptionWordWrap; CellValueFormat[TObject(h),TObject(0)] := EXG2ANTTLib.ValueFormatEnum.exHTML; CellHAlignment[TObject(h),TObject(0)] := EXG2ANTTLib.AlignmentEnum.CenterAlignment; ItemDivider[h] := 0; ItemDividerLineAlignment[h] := EXG2ANTTLib.DividerAlignmentEnum.DividerTop; end; EndUpdate(); end |
1405 |
Is it possible to change the indentation during the drag and drop
with AxG2antt1 do begin BeginUpdate(); VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn'); AutoDrag := EXG2ANTTLib.AutoDragEnum.exAutoDragPositionAny; LinesAtRoot := EXG2ANTTLib.LinesAtRootEnum.exNoLinesAtRoot; HasLines := EXG2ANTTLib.HierarchyLineEnum.exSolidLine; HasButtons := EXG2ANTTLib.ExpandButtonEnum.exWPlus; ShowFocusRect := False; SelBackMode := EXG2ANTTLib.BackModeEnum.exTransparent; Columns.Add('Task'); with Chart do begin ShowNonworkingDates := False; FirstVisibleDate := '12/29/2000'; PaneWidth[False] := 128; LevelCount := 2; Bars.Item['Task'].Color := $1000000; end; with Items do begin h := AddItem('Group 1'); ItemBold[h] := True; ItemDivider[h] := 0; h1 := InsertItem(h,Nil,'Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil); h2 := InsertItem(h1,Nil,'Task 2'); AddBar(h2,'Task','1/15/2001','1/17/2001','K4',Nil); h2 := InsertItem(h1,Nil,'Task 3'); AddBar(h2,'Task','1/5/2001','1/7/2001','K2',Nil); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'L1'; h3 := InsertItem(h,Nil,'Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','K3',Nil); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'L2'; ExpandItem[h] := True; ExpandItem[h1] := True; h := AddItem('Group 2'); ItemBold[h] := True; ItemDivider[h] := 0; LockedItemCount[EXG2ANTTLib.VAlignmentEnum.exBottom] := 1; h := LockedItem[EXG2ANTTLib.VAlignmentEnum.exBottom,0]; CellValue[TObject(h),TObject(0)] := 'Click a row, and move by dragging <b>up, down</b> to change the row''s parent or <b>left,right</b> to increase or decrease the in' + 'dentation.'; CellSingleLine[TObject(h),TObject(0)] := EXG2ANTTLib.CellSingleLineEnum.exCaptionWordWrap; CellValueFormat[TObject(h),TObject(0)] := EXG2ANTTLib.ValueFormatEnum.exHTML; end; EndUpdate(); end |
1404 |
Is it possible to allow moving an item to another, but keeping its indentation
with AxG2antt1 do begin BeginUpdate(); VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn'); AutoDrag := EXG2ANTTLib.AutoDragEnum.exAutoDragPositionKeepIndent; LinesAtRoot := EXG2ANTTLib.LinesAtRootEnum.exNoLinesAtRoot; HasLines := EXG2ANTTLib.HierarchyLineEnum.exThinLine; ShowFocusRect := False; Columns.Add('Task'); with Chart do begin ShowNonworkingDates := False; FirstVisibleDate := '12/29/2000'; PaneWidth[False] := 96; LevelCount := 2; Bars.Item['Task'].Color := $1000000; end; with Items do begin h := AddItem('Group 1'); ItemDivider[h] := 0; ItemBold[h] := True; h1 := InsertItem(h,Nil,'Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil); h2 := InsertItem(h,Nil,'Task 2'); AddBar(h2,'Task','1/5/2001','1/7/2001','K2',Nil); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'L1'; h3 := InsertItem(h,Nil,'Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','K3',Nil); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'L2'; ExpandItem[h] := True; h := AddItem('Group 2'); ItemBold[h] := True; ItemDivider[h] := 0; end; EndUpdate(); end |
1403 |
How can I change the row's position to another, by drag and drop. Is it possible
with AxG2antt1 do begin BeginUpdate(); VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn'); AutoDrag := EXG2ANTTLib.AutoDragEnum.exAutoDragPosition; Columns.Add('Task'); with Chart do begin ShowNonworkingDates := False; FirstVisibleDate := '12/29/2000'; PaneWidth[False] := 64; LevelCount := 2; Bars.Item['Task'].Color := $1000000; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/5/2001','1/7/2001','K2',Nil); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'L1'; h3 := AddItem('Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','K3',Nil); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'L2'; end; EndUpdate(); end |
1402 |
Is it possible to scroll the control's content by clicking and moving the mouse up or down
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TWinForm1.AxG2antt1_AddItem(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_AddItemEvent); begin with AxG2antt1 do begin with Items do begin AddBar(e.item,'Task',CellValue[TObject(e.item),TObject(2)],CellValue[TObject(e.item),TObject(4)],Nil,Nil); end; end end; with AxG2antt1 do begin BeginUpdate(); with Chart do begin FirstVisibleDate := '8/3/1994'; PaneWidth[False] := 256; LevelCount := 2; UnitScale := EXG2ANTTLib.UnitEnum.exDay; FirstWeekDay := EXG2ANTTLib.WeekDayEnum.exMonday; OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible; end; ColumnAutoResize := False; ContinueColumnScroll := False; rs := (ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset')) as ADODB.Recordset); with rs do begin Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb',3,3,Nil); end; DataSource := (rs as ADODB.Recordset); AutoDrag := EXG2ANTTLib.AutoDragEnum.exAutoDragScroll; EndUpdate(); end |
1401 |
How can I display bars so they fit the entire height ( height of the row )
with AxG2antt1 do begin BeginUpdate(); VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn'); DefaultItemHeight := 36; with Chart do begin PaneWidth[False] := 164; FirstVisibleDate := '1/1/2001'; UnitWidth := 48; LevelCount := 2; UnitScale := EXG2ANTTLib.UnitEnum.exHour; NonworkingHours := 16253183; ShowNonworkingUnits := False; UnitWidth := 16; FirstVisibleDate := '1/1/2012 8:00:00 AM'; DrawGridLines := EXG2ANTTLib.GridLinesEnum.exAllLines; Bars.Add('Empty').Pattern := EXG2ANTTLib.PatternEnum.exPatternEmpty; with Level[0] do begin Alignment := Integer(EXG2ANTTLib.AlignmentEnum.exHOutside) Or Integer(EXG2ANTTLib.AlignmentEnum.CenterAlignment); Label := '<%d2%>'; end; AllowLinkBars := False; AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exNoCreateBar; BarsAllowSizing := False; AllowSelectObjects := EXG2ANTTLib.SelectObjectsEnum.exNoSelectObjects; end; DrawGridLines := EXG2ANTTLib.GridLinesEnum.exAllLines; ShowFocusRect := False; with Columns do begin with (Add('CA') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellSingleLine] := TObject(False); Def[EXG2ANTTLib.DefColumnEnum.exCellValueFormat] := TObject(1); end; with (Add('CB') as EXG2ANTTLib.Column) do begin Def[EXG2ANTTLib.DefColumnEnum.exCellSingleLine] := TObject(False); Def[EXG2ANTTLib.DefColumnEnum.exCellValueFormat] := TObject(1); end; end; with Items do begin h := AddItem('Address 1.1<br>Line 2.1<br>C1'); ItemMaxHeight[h] := 96; CellValue[TObject(h),TObject(1)] := 'Address 1.2<br>Line 2.2<br>C2'; AddBar(h,'Empty','1/2/2012 8:00:00 AM','1/2/2012 7:00:00 PM','A','This is a bit of text<br>being <font ;9>displayed ion the <b>bar A'); ItemBar[h,'A',EXG2ANTTLib.ItemBarPropertyEnum.exBarBackColor] := TObject(16777471); ItemBar[h,'A',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(0); ItemBar[h,'A',EXG2ANTTLib.ItemBarPropertyEnum.exBarVAlignCaption] := TObject(2); AddBar(h,'Empty','1/3/2012 8:00:00 AM','1/3/2012 7:00:00 PM','B','<fgcolor=FFFFFF>This is a bit of text<br><fgcolor=FFFFFF>being <font ;9>displayed ion the <b>bar B'); ItemBar[h,'B',EXG2ANTTLib.ItemBarPropertyEnum.exBarBackColor] := TObject(33488896); ItemBar[h,'B',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(2); ItemBar[h,'B',EXG2ANTTLib.ItemBarPropertyEnum.exBarVAlignCaption] := TObject(0); AddBar(h,'Empty','1/4/2012 8:00:00 AM','1/4/2012 7:00:00 PM','C','<font Tahoma;12><b>bar C'); ItemBar[h,'C',EXG2ANTTLib.ItemBarPropertyEnum.exBarBackColor] := TObject(33489151); end; EndUpdate(); end |